One of the major difficulties in computer simulation is input parameter selection. Sets of input parameters define outputs based upon a mapping function given by the stimulation. While certain output effects might be desired, finding a set of input parameters that yield a desirable output is difficult and tedious for many processes. Generally, the mapping functions are multidimensional, nonlinear, and discontinuous. Thus, one cannot calculate specific input parameters which have the desired output. Even if the input parameters could be determined for a given desired output, the output cannot always be described.
Two general computer-assisted processes have been developed for parameter selection: interactive evolution and inverse (or optimization-based) design.
Examples of interactive evolution are disclosed in K. Sims, Artificial Evolution for Computer Graphics, COMPUTER GRAPHICS (Proc. of SIGGRAPH 91), v.25, 319-328 (July 1991) and S. Todd and W. Latham, Evolutionary Art and Computers, (1992). In such systems, the computer explores possible parameter settings, and the user subjectively selects desirable outputs. The computer generates and displays outputs generated. The user then selects certain outputs for further exploration. The computer bases subsequent selections of input parameters based upon the user's selection of certain corresponding outputs. However, the system becomes less useful as the computational complexity of the mapping increases. If the process cannot generate outputs from different parameters in real time, the system is unusable because the user must wait for each output before selection.
Examples of inverse design systems are discussed in K. Sims, Evolving Virtual Creatures, COMPUTER GRAPHICS (Proc. of SIGGRAPH 94) 15-22 (July 1994) and J. K. Kawai, J. S. Painter, and M. F. Cohen, "Radioptimization--Goal-Based Rendering," COMPUTER GRAPHICS (Proc. of SIGGRAPH 93) 147-154 (August 1993). With inverse design, the user inputs an objective function over the outputs. The computer then searches parameter settings so as to optimize the objective function. However, the objective function must be mathematically stated in order to perform the search. In many cases, an objective function cannot be developed to describe the desired results. Often, it is not possible to determine the qualities or features of an output which makes it desirable.
These various approaches have been or could be used in the context of selecting, placing and adjusting lights in a three-dimensional virtual environment. Under an interactive-evolution approach, the user repeatedly selects certain randomly generated lights to add to a scene. As each light is added, the image of the invironment rendered again. Subsequently, the computer generates more random lights, biasing the generation process towards the user's selections. The user then selects from the new random set. This process can be extremely time consuming. If sophisticated rendering programs, such as ray tracing or radiosity, are used, production of an image based upon the lights takes considerable time. The image-rendering process must be repeated each time that the lights are changed.
The inverse-design approach has also been used in an attempt to determine lights to achieve a specified lighting effect. However, the user must be able to articulate desired illumination characteristics of an image. This requires a sophisticated user experienced in lighting design. It also requires a user who can formulate lighting objectives in an understandable format. In addition to requiring a sophisticated user, existing computer systems and processes that determine lights from the desired illumination limit the lighting possibilities for an image.
For example, "Radioptimization--goal-based rendering", Proceedings of SIGGRAPH 93, pp. 147-54, by Messrs. Kawai, Painter, and Cohen, describes a system for determining lights from subjective impressions of illumination entered by a user. The system uses optimization techniques to determine optimum lighting parameters to meet the entered illumination impressions. However, the user must enter a limited set of possible light positions, which severely limits the lighting options which are considered. Similarly, Schoeneman, Dorsey, Smits, Arvo and Greenberg disclose a system in "Painting with Light", Proceedings of SIGGRAPH 93, pp.143-46, which uses optimization techniques to determine lights to achieve certain pixel intensity levels entered by the user. This system requires the user to be able to input the pixel intensity levels for the entire image. It also requires a limited set of light positions to be entered by the user in order to determine the optimum lights.
Another system, disclosed in Poulin and Fournier, "Lights from Highlights and Shadows", Proceedings of the 1992 Symposium on Interactive Graphics, pp. 31-38, allows the user to specify the desired locations of highlights and shadows. This system uses geometric techniques to determine optimum light positions and types in order to achieve the desired highlights and shadows. As with the previously discussed systems, this system requires a sophisticated user who has a set lighting pattern in mind. Adjustments to the specified lighting pattern have to be reprocessed in order to determine a new set of light positions.
Therefore, a need exists for a system for selecting input parameters and generating outputs which is easily manipulable by the user to obtain a desired result. A need exists for a system which allows the effects of changes in input parameters to be easily reviewed by a user. A need exists for a system that allows a large set of potential parameters to be considered and combined. Finally, a need exists for a system that is usable by persons having limited experience in the mapping of inputs and outputs.